<?php

include_once('classes/Cliente.class.php');
include_once('classes/Admin.class.php');

class FuncionalidadeHelper {
    public static function verificaPaginaLogged($controller, $action){
        $Result = self::getFuncionalidade($controller, $action);
        if(empty($Result)) return false;
        $Cliente = SessionHelper::getSession('ClienteLogado');
        if($Result['isLogged'] == 't' && empty($Cliente)){
            SessionHelper::saveMessage('É necessário estar logado para acessar essa página.', 'error');
            return true;
        }
        return false;
    }
    
    public static function verificaPaginaAdmin($controller, $action){
        $Result = self::getFuncionalidade($controller, $action);
        if(empty($Result)) return false;
        $Admin = SessionHelper::getSession('AdminLogado');
        if($Result['isAdmin'] == 't' && empty($Admin)){
            SessionHelper::saveMessage('É necessário estar logado como administrador para acessar essa página.', 'error');
            return true;
        }
        return false;
    }
    
    private static function getFuncionalidade($controller, $action){
        $db = DB::getInstance();
        $db->execute('SELECT * FROM "Funcionalidades" WHERE "Controller" = \'' . $controller . '\' AND "Action" = \'' . $action . '\'');
        $Result = $db->fetchAll();
        $db->close();
        return count($Result) == 0 ? $Result : $Result[0];
    }
}

?>
